package com.yxhl.zoume.data.http.rest.repositoryimpl;

import com.yxhl.protobuf.WalletResponse;
import com.yxhl.zoume.data.http.repository.pay.PaymentRepository;
import com.yxhl.zoume.data.http.rest.param.expresscar.ExpressCarBillDetailParam;
import com.yxhl.zoume.data.http.rest.param.pay.AliPaySignStrParam;
import com.yxhl.zoume.data.http.rest.param.pay.WXPayOrderParam;
import com.yxhl.zoume.data.http.rest.param.pay.WalletPayParam;
import com.yxhl.zoume.data.http.rest.repositoryimpl.base.BaseDataRepository;
import com.yxhl.zoume.data.http.rest.response.expresscar.ExpressCarBillDetailResponse;
import com.yxhl.zoume.data.http.rest.response.pay.ALiPaySignStrResponse;
import com.yxhl.zoume.data.http.rest.response.pay.WXPayOrderResponse;
import com.yxhl.zoume.data.http.rest.response.pay.WalletPayResponse;

import javax.inject.Inject;

import retrofit2.http.Body;
import rx.Observable;

/**
 * Created by vhawk on 16/4/1.
 */
public class PaymentDataRepository extends BaseDataRepository implements PaymentRepository {

    @Inject
    public PaymentDataRepository() {
    }

    @Override
    public Observable<WXPayOrderResponse> wxPayPreOrder(@Body WXPayOrderParam wxPayOrderParam) {
        return mZouMeService.wxPaypreOrder(wxPayOrderParam);
    }

    @Override
    public Observable<ALiPaySignStrResponse> aliPaySignStr(@Body AliPaySignStrParam aliPaySignStrParam) {
        return mZouMeService.aliPaySignStr(aliPaySignStrParam);
    }

    @Override
    public Observable<WalletPayResponse> payByWallet(@Body WalletPayParam payParam) {
        return mZouMeService.payByWallet(payParam);
    }

    @Override
    public Observable<ExpressCarBillDetailResponse> fetchExpressBillDetail(ExpressCarBillDetailParam param) {
        return mZouMeService.fetchExpressBillDetail(param);
    }
}
